node.js - En Webpack, ¿cómo establezco la ruta pública dinámicamente?
Estoy usando Angular2/Typescript/Webpack para construir una aplicación
Estoy teniendo problemas para configurar la opción publicPath de Webpack de forma dinámica. En la documentación oficial de Webpack, dice:
Nota: En los casos en que el eventual publicPath de los archivos de salida no se conoce en tiempo de compilación, se puede dejar en blanco y establecer dinámicamente en tiempo de ejecución en el archivo de punto de entrada. Si no conoces el publicPath mientras compilas, puedes omitirlo y establecer
__webpack_public_path__en tu punto de entrada.
Mi pregunta: Pero, ¿cómo configuro esta variable __webpack_public_path__ y dónde?
Pensé que tendría que configurarlo en src/main.ts, pero luego solo obtengo el error del compilador ERROR in ./src/main.ts
Cannot find name '__webpack_public_path__' when I build the project:
¿No es main.ts donde debería establecer esta variable? Incluso traté de establecerla en la versión compilada del archivo, main.js, y tampoco funcionó. Aquí está parte de mi configuración de Webpack donde establezco el punto de entrada.
config.entry = isTest ? {} : {
'polyfills': './src/polyfills.ts',
'vendor': './src/vendor.ts',
'app': './src/main.ts' // our angular app
};
Respuesta #1
error del compilador ERROR en ./src/main.ts
Los errores del compilador de TypeScript son en su mayoría solo un linting realmente potente. Más sobre esto.
Ese error del compilador solo te dice que TypeScript no sabe sobre __webpack_public_path__. Solo crea globals.d.ts con:
declare var __webpack_public_path__:string;
Y deberías estar bien. Más sobre esto 🌹
