Cuando declaro: require('./public_html/Tags/blog_post_details.tag') , aparece el siguiente error:
E:\WORKSPACE\NETBEANS_WORKSPACE\MyProject\public_html\Tags\blog_post_details.tag:1 (function (exports, require, module, __filename, __dirname) { <blog_post_details > ^ SyntaxError: Unexpected token < at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:387:25) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17) at require (internal/module.js:20:19) at Object.<anonymous> (E:\WORKSPACE\NETBEANS_WORKSPACE\MyProject\server.js:7:1) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) La ruta es correcta porque esta línea funciona var commonsFile = require('./public_html/Tags/commons.json');
Archivo de configuración de WebPack:
var path = require('path'); var webpack = require('webpack'); module.exports = { entry: './index.js', output: { path: __dirname, filename: 'public_html/assets/js/bundle.js' }, resolveLoader: { root: path.join(__dirname, 'node_modules') }, module: { preLoaders: [{ test: /\.tag$/, exclude: /node_modules/, loader: 'riotjs-loader', query: { //type: 'none' //compact: true } }], loaders: [ /*{ test: /\.tag$/, loader: 'tag', exclude: /node_modules/ },*/ { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/, query: { //commenting because of this issue https://github.com/mapbox/mapbox-gl-js/issues/3422 // presets: ['es2015'] } } ] }, plugins: [ new webpack.optimize.OccurenceOrderPlugin(), new webpack.ProvidePlugin({ riot: 'riot' }) ] };La función node require solo reconoce archivos que terminan en .js para archivos Javascript, .json para archivos JSON y .node para extensiones binarias para el tiempo de ejecución de Node. En el caso de los archivos de Javascript, puede omitir el final .js si el sistema de módulos de Node puede encontrar el archivo o módulo (es decir, en node_modules ).
De su ejemplo, parece que está intentando usar require del código del lado del cliente. A menos que use browserify , webpack u otro paquete del lado del cliente que proporcione su propia versión del lado del cliente de require , no puede usarlo.
Como se indica en mi comentario a continuación, el enlace de video que proporciona muestra el código del lado del cliente cargando archivos de etiquetas a través webpack . Deberá verificar la configuración del paquete web para asegurarse de que esté agrupando correctamente sus archivos de etiquetas para enviarlos al navegador. Nuevamente desde el video, el código de ejemplo está cargando su archivo de etiqueta desde ./tags/filename.tag donde la raíz de esa ruta está definida por webpack.